1. Field of the Invention
The present invention relates, in general, to automation systems, and, more particularly, to software, systems and methods for implementing a contextual user interface for home automation systems.
2. Relevant Background
Home automation systems enable control of lighting, heating and air conditioning, window shades or curtains, pool heaters and filtration systems, lawn sprinklers, ornamental fountains, audio/visual equipment, and other appliances. Home automation systems include relatively simple systems that control one or a few functions in a home to more elaborate systems that control multiple, disparate features. Home automation systems may be integrated with a home security system so that when a fire alarm is raised, for example, internal and external lights will be turned on. Entertainment equipment such as audio, video, and home theatre equipment are available with control interfaces that enable a remote device to activate the equipment according to programmed schedules or remotely input commands.
In general, a home automation or control system comprises one or more controlled devices, one or more controllers, and a command communication link coupling a controller to a controlled device. The controllers may be directly programmable in which case they include some form of human interface for setting switches, event timing, and the like. Alternatively, controllers may be indirectly or remotely programmable in which case a separate human interface may be implemented by a personal computer or the like. Systems may be programmed using either a simple command language or using a graphical user interface that requires a computer with a monitor. These systems are expensive and require substantial investment by the user in time and energy to install and modify programming. To enter and/or change a program, a user must consult a user's manual or call a programming specialist. Hence, these systems are difficult to install and adapt to changing needs. Moreover, they are difficult to expand by adding new controlled devices or new software to add functionality.
The home automation market has been fractured because most of the automation control manufacturers address narrow, vertical market segments, and use proprietary interfaces to protect their market. For example, some leading control manufacturers offer systems that focus on heating, ventilation, and air conditioning (HVAC) systems control. These manufacturers have little interest in controlling lighting, security systems, entertainment systems, and the like as these markets are entirely foreign to them. Other manufacturers make, for example, home entertainment controllers that integrate various video and audio components, but the primary focus has been to offer integrated control over only their own components. As a result, consumers face an array of control systems that do not interoperate, and that have proprietary interfaces that are difficult to understand and program.
Some efforts have been made to provide integrated interfaces—single devices that “talk” to various control systems in a residence. One available system offers a rigid architecture that is easy to install because it offers few customization options, however, the rigid architecture limits its functionality. Other systems offer more flexible interfaces, but in each case the implementations include limitations that make the products expensive and/or difficult to install.
Server-based control systems involve a central control mechanism or server that issues commands to each of the controlled devices either directly, or through subordinate controllers. Server-based systems may be easier to program as the operator may need to be come familiar with a single program, but are more complex to install as each of the controlled devices must be coupled to and in communication with the central server. Moreover, because the server must be programmed to interact with the various controlled devices and/or subordinate controls, the operator must still become intimately familiar with the protocols and vagaries of each controlled device, defeating the advantages of a single software interface.
Another common limitation of control systems arises from the control interface of the controlled devices themselves. A typical controlled device will implement a single control interface for receiving commands from a controller. This single interface is usually restricted to a single signaling protocol that makes a subset of the controlled devices functions accessible to the controller. Hence, the controlled device is designed to interact with a single controller and is unable to interact with a plurality of controllers. Further, the functionality that can be implemented is restricted by the controller hardware and/or software and cannot be readily extended.
Hence, a need exists for a home automation and control architecture that is easy to install, easy to use, and at the same time flexible and extensible to accommodate new devices and new functionality.